1. Field of the Invention
Embodiments of the present invention generally relate to Storage Area Network (SAN) management and, more particularly, to a method and apparatus for monitoring storage unit ownership to continuously balance input/output loads and dynamically optimize storage unit distribution across storage processors.
2. Description of the Related Art
In a conventional computing environment, an organization may employ a number of technologies to process and store mission critical data. For example, the conventional computing environment may include one or more data storage systems for facilitating permanent storage, retrieval and transmission of the mission critical data throughout a storage area network. Typically, a Storage Area Network (SAN) includes a plurality of storage units (e.g., hard disk drives, optical drives, magnetic tape drives, a storage array (e.g., a RAID configuration) and/or the like) that facilitates permanent storage of mission critical data as well as software for managing performance of input/output operations on the plurality of storage units.
For example, a storage array (e.g., a disk array) may be partitioned into the plurality of storage units (e.g., storage volumes) where each storage unit is represented by a Logical Unit Number (LUN). The LUN is utilized to uniquely identify the storage unit such that input/output operations can be directed to the storage device. The input/output requests are processed by multiple storage processors. Collectively, the multiple storage processors are dedicated processors that perform various input/output operations on the plurality of LUNs.
For each storage unit (LUN) in a storage array with asymmetric storage unit (LUN) access (e.g., an active/passive array, an ALUA array and/or the like), only one of the storage processors is active (owner) while the other storage processor remains passive (non-owner). A plurality of LUNs are distributed across the storage processors such that each of the storage processor is equally loaded. The distribution of the plurality of LUNs across the storage processors is static and such distribution may not be optimal as the SAN may require reconfiguration from time to time due to various events such as a failure in connection with host computer. As a result, the initial load balance of the storage processors is disturbed.
Occasionally, there may be a failure within a SAN that includes the host computer and the owner storage processor of the plurality of LUNs. Due to such a network connectivity loss or an available network bandwidth reduction, the host computer needs to change the storage unit ownership of the plurality of LUNs to the non-owner storage processor (i.e., a network reconfiguration). As a result, the load balance of the storage processors is disturbed. For example, if the host computer is connected to the owner storage processor through more than one connection where one connection is lost, then the host computer can continue to use the owner storage processor but will experience a reduction in an available network bandwidth. If, however, the host computer proactively modifies the storage unit ownership to the non-owner storage processor which uses a different SAN connection, then the available network bandwidth is restored. The storage array cannot modify the ownership of the plurality of LUNs autonomously because the storage array cannot determine which of the various initiators using the plurality of LUNs belong to the same host computer application that causes a current input/output load.
Therefore, there is a need in the art for a method and apparatus for monitoring storage unit ownership to continuously balance input/output loads and dynamically optimize storage unit distribution across storage processors.